/*
 * D-Bus Java Implementation Copyright (c) 2005-2006 Matthew Johnson This
 * program is free software; you can redistribute it and/or modify it under the
 * terms of either the GNU Lesser General Public License Version 2 or the
 * Academic Free Licence Version 2.1. Full licence texts are included in the
 * COPYING file with this program.
 */
package org.freedesktop.dbus;

/**
 * Holds information on a method call
 */
public class DBusCallInfo {
  public static final int ASYNC    = 0x100;
  /**
   * Indicates the caller won't wait for a reply (and we won't send one).
   */
  public static final int NO_REPLY = Message.Flags.NO_REPLY_EXPECTED;
  private String          destination;
  private int             flags;
  private String          iface;
  private String          method;
  private String          objectpath;
  private String          source;

  DBusCallInfo(Message m) {
    source = m.getSource();
    destination = m.getDestination();
    objectpath = m.getPath();
    iface = m.getInterface();
    method = m.getName();
    flags = m.getFlags();
  }

  /** Returns the name with which we were addressed on the Bus */
  public String getDestination() {
    return destination;
  }

  /** Returns any flags set on this method call */
  public int getFlags() {
    return flags;
  }

  /** Returns the interface this method was called with */
  public String getInterface() {
    return iface;
  }

  /** Returns the method name used to call this method */
  public String getMethod() {
    return method;
  }

  /** Returns the object path used to call this method */
  public String getObjectPath() {
    return objectpath;
  }

  /** Returns the BusID which called the method */
  public String getSource() {
    return source;
  }
}
